home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
SPACE 1
/
SPACE - Library 1 - Volume 1.iso
/
utilitys
/
173
/
stxf21.doc
< prev
next >
Wrap
Text File
|
1988-07-29
|
32KB
|
628 lines
ST XFORMER II Short Documentation
---------------------------------
This file must accompany STXFII.PRG!!
update 2.1 -- July 29, 1988.
This update completely replaces the original version 2.00 release of July
1 and the 2.01 and 2.02 updates since then. If you know of any bulletin
board that carries version 2.00, please upload to them this newest version,
in its ARCed form. Please include all of the ARC files:
STXF21.ARC - contains STXF21.PRG and this text file (for 1Meg users)
STXFXP.ARC - contains the ST Xformer File Xfer Program (all)
STXPP2.ARC - program pack #2 (Turbo Basic and DOS 2.0D)
note: replace STXFII.PRG (version 2.0x) with STXF21.PRG.
Dont forget to mention that to save download time, and to receive the
ST Xformer Users Manual, the above files and more, send a money order
for $20 US or $20 Cnd to:
Darek Mihocka
310-D Bluevale St. N.
Waterloo, Ontario N2J 4G3
CANADA
If you have questions, I can be reached by voice at (519)-747-0386.
If you only have a 512K Atari 520ST, you can still run ST Xformer Junior,
which is already available, and should be at a BBS near you. It is not
included in this update because it will not be updated further.
This file only covers the 1040ST/Mega ST version, which will continue
to be updated regularly.
Contents of this file:
----------------------
Part I - Summary of Features
Part II - Changes from Xformer 1.2
Part III - Atari 800/800XL emulation and FXP
Part IV - Apple and Commodore emulation
Part V - Updates and future versions
Part VI - Invitation to 8 bit programmers
Part VII - Other comments
Part VIII - User Poll
Part IX - Patching the emulator
Part I
------
ST Xformer II is a software emulator of the 6502 microprocessor. On a
standard ST, running on a 68000 at 8 MHz, it executes roughly 80,000 to
100,000 instructions per second, or about 40% the speed of a 6502
machine. It hasn't been tested on any of the accelerator boards now out
for the ST.
In addition to the 6502 emulation, 3 hardware emulation modes are
available: Atari 800/XL/XE, Apple ][, and Commodore 64. Each of the
hardware emulation modes is explained later.
ST Xformer II is GEM based, and runs on any color or monochrome ST
system with at least 1 Megabyte of memory. It runs off floppy or the
hard disk. It must be booted in either medium (80 column color) or high
(monochrome) resolution.
If the program runs out of memory (800K is required) or it is booted in
low resolution, an error message appears and the program exists.
Therefore, if you only have a 1 Meg machine, make sure all memory
intensive desk accessories and AUTO boot programs are disabled. Version 2.1
is more memory efficient than version 2.0, and will load on a 1 meg machine
with something like Deskcart or Control Panel installed.
Xformer works on 1040 ROMs, Mega ROMs, and the "new" ROMs.
Online help can be accessed from the menu bar under the "Help" entry. It
very briefly summarizes the most common procedures.
Atari 800 support now includes DOS and non-DOS disk support, Player
Missle Graphics, emulation of most of the NMI and IRQ interrupts, and
emulation of most of the ANTIC, POKEY, and GTIA hardware registers. This
release has 2 promised features missing (hey, this program took a _lot_
longer to write than planned): display list interrupt support, and 130 XE
bank select memory emulation. Other less serious cosmetic problems are
the lack of GTIA support. I simply ran out of colors registers on the
ST. These bugs, and any others reported by users will be fixed an
available on the update disk for registered users.
The following changes exist between version 2.0 and 2.1:
- 800XL RAM under ROM memory emulation added
- double density disk drive support added
- better player missle graphics support
- limited Apple ][ support
- "3 bombs in color", "black stripes in mono", and "crashes to the
menu bar" bugs fixed
- addition of the ST Xformer File Xfer Program added
Part II
-------
Xformer II represents almost a year of effort on my part to take the
various Xformer 1.x versions and join them into one unit. Thus, Xformer II
replaces the Xformer 1.1 and 1.2 Atari 800 emulators, and the Xformer 1.0x
Apple ][ emulator, which never really got released.
The user interface is totally redesigned. Instead of a text based
keyboard entry style interface, Xformer II uses GEM for most of its
functions. This greatly improves usability, which was one major
complaint of the previous emulators.
Xformer II also runs twice as fast as the previous versions. The 6502
emulator was rewritten to use a different p-code interpretter algorithm,
and all the assembly code was tightened up even more.
Xformer II does away with all the extra files that were required for use
with previous versions. The Atari ROMs are stored in STXF21.PRG itself,
and DOS emulation is handled differently, as explained in the Atari
section.
Part III
--------
If you currently use Xformer 1.1 or 1.2, forget everything you know!
I've redesigned everything. STXF21.PRG now contains all the Atari ROM
code built in to it, so you no longer need to rename files and do all
the silly things I required you to do (he he).
When you boot the program, click the Atari logo on the title screen.
Then go up to the "Xformer II" menu entry and select the Atari option.
An Atari Configuraton dialog box will appear.
It should be fairly self explanatory. You can select either Atari
400/800 ROMs (also known as ROM revision B) or the XL/XE ROMs, which
give you the faster text and graphics output, and access to graphics
modes 12, 13, 14 and 15.
Thanks to Charles Marslett's fine work on the Fastchip floating point,
and with his permission, you can select between the regular Atari
floating point routines, or his Fastchip routines, which can increase
the speed of math operations (and BASIC) by up to a factor of 3.
Speaking of BASIC, you can have it either IN or OUT. Xformer II no
longer supports any other cartridges, since no one ever indicated to me
that they used that feature. However, cartridges transfered to disk will
work. More on disk files in a few paragraphs.
There is one rather cryptic option called "VBI Rate". This refers to how
often the emulator emulates vertical blank interrupts. The default is 1,
which means an Atari 800 VBI occurs every 1 ST vertical blank, i.e. 60
times per seconds. Similarly, setting this option to 2 will give you a
60/2 = 30Hz VBI rate, and setting it to 3 sets it to 60/3 = 20Hz.
WHY??????? (you ask?) Simple. The standard operating system vertical
blank interrupts take up about 3 or 4% or the total processor time on an
Atari 800. On the emulator though, which still has to process the same
number of VBI's each second, (but does it at a slower speed), about 15 -
20% of the time is spent servicing the interrupts. This slows down most
programs by 15 or 20%. Therefore Atari BASIC appears to run at about 30%
the normal speed. To fix this, I added the option so that you can reduce
the number of VBI's, and give more processor time back to programs like
BASIC. Try it at a setting of 3. BASIC now speeds up to over 35%. Kill
vertical blanks all together (with a POKE 54286,0) and the emulator now
runs at over 40% speed.
Now, the disk support. Read this CAREFULLY!!
On a regular 5 1/4" single sided single density floppy disk, formatted
on an 810 disk drive, you will get 90K of storage. This is derived by
taking the number of tracks (40), the number of sectors per track (18)
and the number of bytes per sector (128) to give a total of 40*18*128 =
92160 = 90K.
Similarly, on a double density disk, with 256 byte sectors, you can get
40*18*256 = 184320 bytes = 180K of storage.
Therefore I selected the following method to emulate the 8 bit disk drives.
THIS IS DIFFERENT THAN THE METHOD USED IN XFORMER 1.2!!!!!
The procedure is also slightly different from version 2.0.
In the ARC file for ST Xformer 2.0, there was a file called DEMODISK.SD.
In this release, in the STXPP2.ARC file. there is a file called TURBOBAS.SD.
It is 90K long. (note: you can also use file out of STXPP1.ARC, released
a few weeks ago). There 90K long files are bit images of a real 8 bit disk.
When you port a file to the ST, you must first copy it into one of these
file so that the emulator can use it. It is similar to the way files are
merged together into an ARC file for use with the ARC utility.
As a convention, I've chosen the the .SD extender for 90K single density
files, and .DD for 180K double density files.
What does this mean to you? Well it means that instead of porting files
one by one to the ST, you can port over entire disks! The disks must be
formatted in single density and unprotected, but besides that, there is
no limit to what can be on the disk. I have tested Xformer II with DOS
2.0, DOS 2.5, DOS 4.0, Sparta DOS 1.1, and MyDos 4.1 with full success.
All the other DOSes _should_ work assuming you configure them for an 810
drive _before_ porting the disk over.
Now, how do you port a disk? Most of you should be familiar with the
Disk Communicator program by Robert Puff. It is known simply as
DiskComm, and 3.2 is the latest version. Note that DC32.COM is supplied.
DiskComm is basically a disk scruncher and unscruncher. It takes a disk
and compresses it into a single file, which can be easily transfered by
modem to another computer, and uncompressed.
Now, boot up your favorite terminal software on your 8 bit Atari, and
boot up your favorite ST terminal software, set them both to XMODEM, and
port DC32.COM to your 8 bit. Even if you already have Diskcomm on your 8
bit port over this version!!!!!
To port over an individual file, use the same method. Simply transfer it
by modem. Be careful, and use a file transfer protocol that doesn't pad
the last sector out with extra bytes. Some versions of Xmodem do this,
which causes some software to not run. This same thing happens when
porting moving files between real 8 bits too.
Now boot up the file called STXFXP.PRG (out of the STXFXP.ARC file), and
choose the "File Copy" option. Two file selectors will pop up. Use one of them
to locate the 8 bit file that you just ported over. Use the other dialog box
to locate a .SD file to copy it to, and click on it. Note that a directory
of the 8 bit files stored in the .SD file appears. Select the proper direction arrow,
(so it points towards the file selector with the .SD disk, and click on
GO to perform the copy.
You can use the INFO button to give you size information on any files
you select. Remember to click on GO to actually do it.
By changing the direction arrow, you can extract 8 bit files out of .SD
file and save them back out to your 3 1/2" or hard disk. The file
selectors work just as well in either direction, but be warned that bugs
do exist in the File Xfer Program.
Before we leave the file selectors, note that the two file selectors
are custom designed. The operate _almost_ like the real Atari file
selector, with some extras. The closer box is on the bottom right, not
on the upper left corner. If you try to "close" the root directory of
a disk drive, you will get a list of available disks, without having to
type anything!
The ST Xformer File Xfer Program just described was written very
recently, and may still be quite buggy. I didn't even write it, which is
why I'm not covering it in much detail right now because _I_ am still
trying to figure it out. Note that many of the disk options, like MOVE,
FORMAT, etc., are still fuzzed out. Look for a fuller version of the File
Xfer Program soon, or if you register, it will be sent to you.
Now, reboot the 8 bit computer and run Diskcomm. It will allow you to
set the source and destination drives. The SOURCE drive is the drive
which contains the disk to be ported. The DESTINATION drive is where you
will insert a blank formatted disk, to which the source disk will get
written out as a file.
When this is done, boot up the terminal software again, and
transfer the disk file (should have a .DCM extender) to the ST.
Now run Xformer II and enter the Atari Configuration dialog box again.
Click on "Insert...", then click on D1:, and when the file selector
appears, select TURBOBAS.SD. Now repeat this but select D2: as the drive
to load. What you have just done is loaded the 2 virtual Atari 810
drives that Xformer II emulates with 2 identical disks.
Before you boot though, you will want to copy Diskcomm into one of the
virtual 810 drives. To do this use the File Xfer Program again.
Ok, you've clicked on it, so another file selector appears. Select
DC32.COM and the Xformer will copy the file from the ST disk and onto
the virtual D1: disk, stored in Xformer's memory.
Now exit this and go up to "Xformer II" and select "Reboot". Voila! The
Atari 800 boots. If you had BASIC plugged IN, you should see the word
READY on the screen. If so, type in DOS and press RETURN. Atari DOS 2.5
will load.
I assume that most people are familiar enough with DOS that they don't
need instructions. If you do, the documentation I supply to registered
users will among other things, explain Atari DOS.
From DOS, format D2:, then write out the DOS files to it. What you are
doing is creating a blank DOS 2.5 disk.
Make sure that Atari BASIC is OUT, and "Reboot" the Atari 800. Run
DiskComm and choose D2: as the source and D1: as the destination. What
you are going to do is uncompress the .DSC file now on D2: and put the
uncompressed disk image on D1:. Yes, this will overwrite the files from
DEMODISK, but don't worry, it is safely stored on your ST disk.
Start DiskCom and watch the sectors fly. In a few minutes, it will be
finished. Now press F5, click on "Eject...", and save this newly
created D1 to a new .SD file. For example, if you ported over the latest
Analog monthly disk, you may want to call the file ANLG0888.SD.
Reboot the Atari 800 again and the new disk will boot.
SOUND COMPLICATED?!?!?!?!?!?!?!?!?!?!?!?!!?
It isn't really. If you think of the 2 virtual disk drives in Xformer II
as 2 810 disk drives hooked up to an Atari 800, you see that you're
doing nothing more than creating and copying files around on a 2 disk
drive system.
I'm hoping the addition of the File Xfer Program makes .SD files a bit
easier. The File Xfer Program does not handle double density disks (.DD
files). The are two ways to generate a .DD file.
First, use the Sector Copy option of the F.X.P. Use this if you have an
external 5 1/4" inch disk drive hooked up to your ST (in drive B:). It
will prompt you insert an 8 bit disk. Use a double density disk, one with
180K of storage. Insert the disk and you will see a "track: 00 sector:01"
type diplay as the sectors get read. When finished, it writes out a 180K
DISK.DD file to your current directory.
This only works with some disks. I found that my disks formatted on my
Rana drive would not work, but disks formatted on an Indus GT or Atari
1050 with US Doubler did. If the disk can't read, you'll hear it! Just
start banging on the Escape key to abort the read.
The second method is to simply do it within the emulator. Boot up the one
sample file supplied, DOS20DD.DD in D1:, and a .SD file in D2:. Then run
the Atari 800 and copy files as usual. Press F5 and "Eject..." to save out
the new .DD file.
By the way, if you have an accessory like Deskcart installed when you run
the emulator on a 1 Meg machine, there will not be enough memory to
support the double density disk. In this case, only .SD files will load.
Remove the accessory to get .DD support.
Oh, did I mention the Disk I/O option? This allows you turn off the
"beep beep beep" sound of the disk drive and just do fast disk
emulation. Useful when running DiskComm but you may wish to keep the
sound for old time's sake.
Part IV
-------
Well, 6 months after getting the first signs of life out of Commodore
Basic running under C64 emulation, Commodore Business Machines has still
to return a single phone call of mine. Whenever I phone back, I'm put on
hold, transfered, asked for my name and number, and goodbye Charlie!
Obviously, Commodore has not learned how _not_ to practise public
relations. At least with Apple I got as far as getting several
"NO!!!!!!"s when I suggested that they licence their ROMs to me for use
with Xformer.
So, since neither one of those companies wishes to talk, perhaps someone
can guide me to a manufacturer of clone machines, or better yet, to
someone that has written compatible versions of either the Apple R ]R [
operating system, or the Commodore 64 OS. I believe that both such
beasts exist, (definately Apple clone ROMs) but I am unable to actually
find a _legitemate_ manufacturer. Anyone with information, _please_
forward it to me. The day I get the clone code is the day Xformer II
goes up with the Apple ][ and/or C64 options enabled.
As an experiment, I have enabled the Apple emulation, but it requires
some work, on the part of you the user, to get it working. What you must do
is copy over the Apple ][ operating system yourself, to the ST, and then
run the emulator. The code involved resides at memory locations $C000 thru
$FFFF on in the Apple's ROMS. Port it over, in any way you know, so that
you get a 12288 byte file on your ST which contains that chuck of memory.
Call the file APPLE.STX, place it in the same directory as STXF21.PRG, and
run the emulator. When you click on the Apple menu selection, the file will
load and the Apple will boot. Note, that it doesn't yet support Apple DOS,
so it will be rather limited. The main point here is to see how many users
can do this without difficulty.
Part V
------
I need to get some feedback from users regarding what software runs,
how well, what doesn't run, and how bad. Also, any suggestions regarding
the user interface or features that could be put in (have I forgotten to
emulate something?) are most welcome!
I would also be very interested in porting this program over to the Mac
II and the Amiga. From what I've heard of the C64 emulators on the
Amiga, they're far slower than the Xformer, (probably because they're
using the standard p-code interpreter code used in Xformer 1.2). I think
Xformer II could blow them out of the water. And on the Mac II, well,
multiply the speed of Xformer by about 5, and you get the speed it would
run at on a Mac II. Anyone interested, simply send a Mac II or Amiga
2000 to the same address already given above, and I'll gladly start
porting the code over. Both Commodore and Apple seem to have no
complaints about emulators running on _their_ machines. Also, if anyone
wants to send me a Mega ST 2 or 4, I'll be glad to add support for all
drives D1: thru D8:, double and single density. (Maybe call it the Mega
Xformer??) Unfortunately, on a 1 Meg machine, (with which Xformers are
developed on) there is only enough memory to support D1: and D2: in
single density.
Part VI
-------
This is an open invitation to all Atari 8 bit programmers to try their
software on the Xformer and see how it runs. If it runs well, advertize
that fact. Let people know that your software is "Xformer II
Compatible".
If it doesn't run well, but it is a small problem to fix, please take a
few minutes to adjust your software to make it Xformer Compatible. Since
most of the incompatibilities will be in the area of speed, it is
usually simply a matter of adjusting your timing loops. To help you
detect the Xformer, I have modified hardware register $D015 to always
return the value $C0 instead of $0F. This is your way of detecting the
Xformer at run-time, so that proper adjustments can be made.
If your software does not run at all, but you are interested in allowing
ST users run your software, please send me a copy of your software, and
if possible, a listing, or simply a list of possible trouble points, and
I'll try to fix the problem in updates of Xformer II.
Part VII
--------
There is a section in Xformer II called "Scratch 'n Sniff". This is a
billboard on which Atari related products or services can be advertized.
It is still not too late to place your ad. I charge reasonable rates.
Ask the current bunch of paid advertizers!
Anyone who gets a chance to try Xformer II on any of the 14 or 16 MHz
accelerator boards, please let me know if it runs, and if so, how much
faster.
I have to acknowledge some of the people whose ideas made Xformer II a
reality. First there's Charles Smeton, who soon after the release of
Xformer 1.1 pointed out to me on GEnie a code optimization that I now
use in Xformer II. Just before that, David Small, at a show in Toronto,
scribbled down his ideas on speeding up Xformer which later turned out to
be the foundation of Xformer II. Actually, Jan Grey, fellow
University of Waterloo student, ST owner, and Microsoft employee, had
the same idea about 6 months earlier, but (sorry Jan) I though he was
kidding when showed me the code! Fortunately after I refined David's
idea into real code, Jan came up with the ultimate speed hack. And of
course, there's Bill Teal, who's trying to do the same thing I am but
for a different CPU (and doing it better!), who pointed out a few things I
could do, and did, to make Xformer II faster. The final result, as you
already know, was a 100% increase in speed over the previous Xformers. I
would also like to thank Robert Puff, the author of Diskcom, who helped me
out with a lot of the technical stuff about the 8 bit Ataris.
Also, in the works: ST Xformer III 6502 emulator and compiler. Does all
the things this one can with one small difference. Programs are first
compiled into native 68000 code, _then_ executed. This should allow most
Atari 800 programs to run at about twice their normal speed!
Finally, I'd just like to remind everyone once again that ST Xformer II
_is_ a shareware product. It is _not_ public domain. Therefore, if you
use it, please pay for it. Out of the $20 you send, part of that will go
back to you in the form of the documentation, an update disk, and of
course, postage. I think I'm making a very fair deal here, so let's
see shareware work. I don't want to become another one of the already
too large group of ST programmers who put out a shareware product,
only to see it be used by everyone and paid for by no one.
DELPHI, GENIE: DAREKM
Compuserve: 73657,2714
Xformer Hotline: (519)-747-0386
Send your registration money ($20 US or $20 Canadian) to:
310-D Bluevale St. N., Waterloo, Ontario, CANADA N2J 4G3
Part VIII
_________
A Quick User Poll
I am very interested in hearing your comments. Many of you included letters
with your registrations, but I'd like to hear from you now that you've had
a better chance to try the latest Xformer.
Please spare about 30 minutes and put your thoughts on paper. An example of
things I'd like to know are:
- what you like about Xformer II
- what you don't like (not counting speed!)
- how you'd change the user interface in any way
- what you like and dislike about this manual
- any other things that come to mind
Also, do you think the $20 that this program costs is worth it, or a
total ripoff? Would you recommend to other ST users to get Xformer II
(assuming they have an in terest in using emulators). Do you need full
monochrome support?
Do you need full Apple ][ or Commodore 64 support? Do you know of any
other 8 bit machines (not necessarily 6502 based) that you think should be
emulated?
What sort of system do you primarily use Xformer II on? Color, mono,
520ST, 1040ST, Mega 2 or 4, hard drive, modem, etc. If you have a modem,
would you be inter ested in an Xformer BBS (for updates, 8 bit programs,
etc.)? Do you use any information services like Compuserve, GEnie, BIX, or
DELPHI? Where did you first hear about Xformer II. Where did you first get
it from?
Did you ever see or use the earlier Xformers (versions 1.00 thru 1.2)?
Have you read any of the Xformer articles in ST Log, and if so, did you
find them interesting, and would you be interested in a similar article
explaining the inner workings of Xformer II?
Would you be willing to pay another $20 or more for Xformer III, which,
if written, would probably run at over 100% the speed of an 8 bit. If so,
are you prepared to wait 6 months to a year until it is completed.
If you don't want to write, you can always call by voice. If I'm not
home, I'll try to have an answering machine hooked up. Simple leave your
name and comments and answers to the questions listed above.
This part is a bit technical and was left for the end of the file.
Part IX
_______
Making Patches to Xformer II:
Xformer II is set up to emulate North American 8 bit Ataris. It comes
with the 400/800 and XL operating systems built in, as well as the
Fastchip floaing point routines, and Atari BASIC. It is also set up for a
North American ST keyboard. You may, however, wish to modify this setup,
by either installing your own version of the 8 bit operating system, or
modifying the keyboard table for international versions of the ST and 8
bit. It is also possible to replace the Atari BASIC code with code from
some other 4K or 8K cartridge.
To make these patches, you will require a file editor or 68000 debugger
monitor, since you will actually physically modify the file STXF21.PRG.
Needles to say, back up this file before you start surgery! One monitor
program I highly recommend is TEMPELMON, which is a truly fantastic
debugger, and is available on BIX, DELPHI, GEnie and Compuserve in both
English and German versions.
First the keyboard stuff, since it is fairly easy. Using your file editor
or monitor program, perform a string search through the STXF21.PRG file.
Look for the string "KBDTBL" (minus the quation marks of course). Following
this string is a zero word, followed by several $FF bytes. These $FF bytes
mark the beginning of the keyboard table, and are the first few bytes of
this table. (The first $FF is the first byte of the table). The keyboard
table is 512 bytes long, made up of 128 entries of 4 bytes. This table maps
an ST keyboard scancode into an 8 bit keyboard scan code. Unused scancodes
are mapped to an $FF, which is the 8 bit's normal no-keypress scancode. The
4 bytes of each entry correspond to the normal, shift, control, and
shift-control scancodes. For clarity, the first few lines of the keyboard
table as it appears in the Xformer II source code are shown below. The
bytes are packed into words since the Laser C assembler generates
incorrect code for the DC.B instructi on (pretty lousy bug, eh?)
; Lookup table to map the ST's scan codes to the 8 bit internal code
; Keys that do not apply map to $FF
; There are 4 entries per line, regular, shift, control, control shift
dc.w 'KB', 'DT', 'BL', 0
mpSTto8:
dc.w 0xFFFF, 0xFFFF ; $00
dc.w 0x1C5C, 0x9CDC ; $01 Esc
dc.w 0x1F5F, 0x9FDF ; $02 1
dc.w 0x1E75, 0x9EDE ; $03 2 map to @ not "
dc.w 0x1A5A, 0x9ADA ; $04 3
dc.w 0x1858, 0x98D8 ; $05 4
dc.w 0x1D5D, 0x9DDD ; $06 5
dc.w 0x1B47, 0x9BDB ; $07 6 map to ^ not &
dc.w 0x335B, 0xB3F3 ; $08 7 map to & not '
dc.w 0x3507, 0xB5F5 ; $09 8 map to * not @
dc.w 0x3070, 0xB0F0 ; $0A 9
dc.w 0x3272, 0xB2F2 ; $0B 0
dc.w 0x0E4E, 0x8ECE ; $0C -
dc.w 0x0F06, 0x8FCF ; $0D =
dc.w 0x3474, 0xB4F4 ; $0E Backspace
dc.w 0x2C6C, 0xACEC ; $0F Tab
dc.w 0x2F6F, 0xAFEF ; $10 q
dc.w 0x2E6E, 0xAEEE ; $11 w
dc.w 0x2A6A, 0xAAEA ; $12 e
dc.w 0x2868, 0xA8E8 ; $13 r
dc.w 0x2D6D, 0xADED ; $14 t
dc.w 0x2B6B, 0xABEB ; $20 y
Once you've made the appropriate patches, save out the new STXF21.PRG
file and test it out. Make sure the file size remains the same. I'm sorry
I can't provide more keyboard information, but Atari in Sunnyvale couldn't
supply me with any more information other than to say that the keyboards in
different countries are different. Tell me something I don't know guys!
Now for the operating system patches. A bit harder, but done in exactly
the same way. STXF21.PRG contains a chunk of data, which contains the
400/800, XL, and Fastchip code, and Atari BASIC. It is arranged in the
following order (with the headers shown):
- Atari BASIC, $A000-$BFFF, 8192 bytes, header: "Atari BASIC:"
- 400/800 OS, $D800-$FFFF, 10240 bytes, header: "Atari OS revB:"
- XL/XE OS part 1, $D800-$FFFF, 10240 bytes, header: "XL code:"
- XL/XE OS part 2, $C000-$CFFF, 4096 bytes, header: "XL Extra code:"
- Fastchip FP routines, $D800-$DFFF, 2048 bytes, header: "Fastchip FP:"
As with the keyboard table, perform the string search for the appropriate
header, and immediately following that string are two trailing zeroes and
then the data block. If you plan on replacing Atari BASIC with code from a
cartridge that is less than 8K in size, (Atari Chess, Missle Command, and
Space Invaders are 4K, Fantastic Voyage is 2K), be sure to pad out the
start of the data block with zeroes, as Xformer copies the entire 8K chunk
into memory locations $A000 thru $BFFF. Similarly, if you plan on
replacing the operating system code, replace the 400/800 code if the new
OS is 8K in size, and the XL/XE code is the OS is 12K in size , not
including the floating point package. All floating point packages should
be 2K long, so it doesn't matter if you replace the Atari or the Fastchip
code. If you do patch the Xformer for international versions, I'd be very
interested in finding out. Either send me the code that you patched it
with, or send the the patched STXF21.PRG file, and I will expand Xformer II
to include this code (except of couse, code extracted from cartridges).
Thats all for now! Please excuse any typos. This was being edited at 6am!